/*     */ package com.zimbra.cs.mailclient;
/*     */ 
/*     */ import com.google.common.base.Preconditions;
/*     */ import com.zimbra.common.util.Log;
/*     */ import com.zimbra.cs.mailclient.auth.AuthenticatorFactory;
/*     */ import com.zimbra.cs.mailclient.util.Config;
/*     */ import java.io.File;
/*     */ import java.io.IOException;
/*     */ import java.util.Map;
/*     */ import java.util.Properties;
/*     */ import javax.net.SocketFactory;
/*     */ import javax.net.ssl.SSLSocketFactory;
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ public abstract class MailConfig
/*     */ {
/*     */   private String host;
/*  36 */   private int port = -1;
/*     */   private Security security;
/*     */   private String authorizationId;
/*     */   private String authenticationId;
/*     */   private String mechanism;
/*     */   private String realm;
/*     */   private Map<String, String> saslProperties;
/*     */   private Log logger;
/*     */   private SocketFactory socketFactory;
/*     */   private SSLSocketFactory sslSocketFactory;
/*     */   private AuthenticatorFactory authenticatorFactory;
/*     */   private int readTimeout;
/*     */   private int connectTimeout;
/*     */   
/*     */   public static enum Security {
/*  51 */     NONE,  SSL,  TLS,  TLS_IF_AVAILABLE;
/*     */     
/*     */ 
/*     */     private Security() {}
/*     */   }
/*     */   
/*     */ 
/*     */   protected MailConfig(Log log)
/*     */   {
/*  60 */     this.logger = ((Log)Preconditions.checkNotNull(log));
/*  61 */     this.security = Security.NONE;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   protected MailConfig(Log log, String host)
/*     */   {
/*  72 */     this(log);
/*  73 */     this.host = host;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public abstract String getProtocol();
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public String getHost()
/*     */   {
/*  89 */     return this.host;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public void setHost(String host)
/*     */   {
/*  98 */     this.host = host;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public int getPort()
/*     */   {
/* 107 */     return this.port;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public void setPort(int port)
/*     */   {
/* 116 */     this.port = port;
/*     */   }
/*     */   
/*     */   public Security getSecurity() {
/* 120 */     return this.security;
/*     */   }
/*     */   
/*     */   public void setSecurity(Security security) {
/* 124 */     if (security == null) {
/* 125 */       throw new NullPointerException();
/*     */     }
/* 127 */     this.security = security;
/*     */   }
/*     */   
/*     */   public SocketFactory getSocketFactory() {
/* 131 */     return this.socketFactory;
/*     */   }
/*     */   
/*     */   public void setSocketFactory(SocketFactory sf) {
/* 135 */     this.socketFactory = sf;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public SSLSocketFactory getSSLSocketFactory()
/*     */   {
/* 148 */     return this.sslSocketFactory;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public void setSSLSocketFactory(SSLSocketFactory sf)
/*     */   {
/* 159 */     this.sslSocketFactory = sf;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public String getAuthenticationId()
/*     */   {
/* 168 */     return this.authenticationId;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public void setAuthenticationId(String id)
/*     */   {
/* 179 */     if (id == null) {
/* 180 */       throw new NullPointerException();
/*     */     }
/* 182 */     this.authenticationId = id;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public String getAuthorizationId()
/*     */   {
/* 193 */     return this.authorizationId;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public void setAuthorizationId(String id)
/*     */   {
/* 204 */     this.authorizationId = id;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public String getMechanism()
/*     */   {
/* 215 */     return this.mechanism;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public void setMechanism(String mech)
/*     */   {
/* 224 */     this.mechanism = mech;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public String getRealm()
/*     */   {
/* 233 */     return this.realm;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public void setRealm(String realm)
/*     */   {
/* 242 */     this.realm = realm;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public Map<String, String> getSaslProperties()
/*     */   {
/* 255 */     return this.saslProperties;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public void setSaslProperties(Map<String, String> properties)
/*     */   {
/* 264 */     this.saslProperties = properties;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public AuthenticatorFactory getAuthenticatorFactory()
/*     */   {
/* 275 */     return this.authenticatorFactory;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public void setAuthenticatorFactory(AuthenticatorFactory factory)
/*     */   {
/* 284 */     this.authenticatorFactory = factory;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public int getReadTimeout()
/*     */   {
/* 294 */     return this.readTimeout;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public void setReadTimeout(int secs)
/*     */   {
/* 303 */     this.readTimeout = secs;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public int getConnectTimeout()
/*     */   {
/* 313 */     return this.connectTimeout;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public void setConnectTimeout(int secs)
/*     */   {
/* 322 */     this.connectTimeout = secs;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public Log getLogger()
/*     */   {
/* 331 */     return this.logger;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public void setLogger(Log log)
/*     */   {
/* 340 */     this.logger = ((Log)Preconditions.checkNotNull(log));
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public Properties toProperties()
/*     */   {
/* 349 */     return Config.toProperties(this);
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public void applyProperties(Properties props)
/*     */   {
/* 358 */     Config.applyProperties(this, props);
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public void save(File file)
/*     */     throws IOException
/*     */   {
/* 368 */     Config.saveProperties(file, toProperties());
/*     */   }
/*     */ }


/* Location:              /home/mint/zimbrastore.jar!/com/zimbra/cs/mailclient/MailConfig.class
 * Java compiler version: 7 (51.0)
 * JD-Core Version:       0.7.1
 */